[INFO] fetching crate iota-client 1.4.0...
[INFO] fixing iota-client-1.4.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate iota-client 1.4.0 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate iota-client 1.4.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate iota-client 1.4.0
[INFO] tweaked toml for crates.io crate iota-client 1.4.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate iota-client 1.4.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate iota-client 1.4.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5f72f0dee3e3b82f12cb2b8fee4e10798b02dd8fb4c22f6a1eff69d07bbb818b
[INFO] running `Command { std: "docker" "start" "5f72f0dee3e3b82f12cb2b8fee4e10798b02dd8fb4c22f6a1eff69d07bbb818b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5f72f0dee3e3b82f12cb2b8fee4e10798b02dd8fb4c22f6a1eff69d07bbb818b" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5f72f0dee3e3b82f12cb2b8fee4e10798b02dd8fb4c22f6a1eff69d07bbb818b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5f72f0dee3e3b82f12cb2b8fee4e10798b02dd8fb4c22f6a1eff69d07bbb818b" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libc v0.2.139
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.86
[INFO] [stderr]    Compiling serde_derive v1.0.136
[INFO] [stderr]    Compiling serde v1.0.136
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling typenum v1.15.0
[INFO] [stderr]     Checking itoa v1.0.1
[INFO] [stderr]     Checking subtle v2.4.1
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]     Checking pin-project-lite v0.2.8
[INFO] [stderr]     Checking tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling futures-core v0.3.21
[INFO] [stderr]     Checking tinyvec v1.5.1
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling futures-task v0.3.21
[INFO] [stderr]    Compiling futures-channel v0.3.21
[INFO] [stderr]     Checking futures-sink v0.3.21
[INFO] [stderr]     Checking bytes v1.1.0
[INFO] [stderr]     Checking untrusted v0.7.1
[INFO] [stderr]     Checking once_cell v1.10.0
[INFO] [stderr]    Compiling tokio v1.25.0
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]     Checking opaque-debug v0.3.0
[INFO] [stderr]    Compiling futures-util v0.3.21
[INFO] [stderr]    Compiling generic-array v0.14.5
[INFO] [stderr]    Compiling bee-ternary v0.5.2
[INFO] [stderr]     Checking zeroize v1.5.3
[INFO] [stderr]     Checking cpufeatures v0.2.5
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]     Checking futures-io v0.3.21
[INFO] [stderr]     Checking slab v0.4.5
[INFO] [stderr]    Compiling indexmap v1.8.0
[INFO] [stderr]     Checking matches v0.1.9
[INFO] [stderr]    Compiling rustls v0.20.4
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking tracing-core v0.1.23
[INFO] [stderr]    Compiling bee-common v0.5.0
[INFO] [stderr]     Checking ryu v1.0.9
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]    Compiling quote v1.0.15
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking socket2 v0.4.4
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking http v0.2.6
[INFO] [stderr]     Checking colored v1.9.3
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking getrandom v0.2.5
[INFO] [stderr]    Compiling httparse v1.6.0
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]    Compiling serde_json v1.0.79
[INFO] [stderr]     Checking unicode-normalization v0.1.19
[INFO] [stderr]     Checking num_threads v0.1.3
[INFO] [stderr]     Checking tracing v0.1.31
[INFO] [stderr]     Checking time v0.3.7
[INFO] [stderr]     Checking form_urlencoded v1.0.1
[INFO] [stderr]     Checking unicode-bidi v0.3.7
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking try-lock v0.2.3
[INFO] [stderr]     Checking bech32 v0.8.1
[INFO] [stderr]    Compiling encoding_rs v0.8.30
[INFO] [stderr]     Checking bytemuck v1.8.0
[INFO] [stderr]     Checking tower-service v0.3.1
[INFO] [stderr]     Checking base64 v0.13.0
[INFO] [stderr]     Checking httpdate v1.0.2
[INFO] [stderr]    Compiling async-trait v0.1.52
[INFO] [stderr]     Checking mime v0.3.16
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]     Checking ipnet v2.4.0
[INFO] [stderr]     Checking chunked_transfer v1.4.0
[INFO] [stderr]     Checking rustls-pemfile v0.2.1
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking crypto-mac v0.11.1
[INFO] [stderr]     Checking crypto-mac v0.8.0
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking pbkdf2 v0.8.0
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking curve25519-dalek v3.2.0
[INFO] [stderr]     Checking hmac v0.11.0
[INFO] [stderr]     Checking blake2 v0.9.2
[INFO] [stderr]     Checking url v2.2.2
[INFO] [stderr]     Checking regex v1.5.5
[INFO] [stderr]     Checking http-body v0.4.4
[INFO] [stderr]     Checking futures-executor v0.3.21
[INFO] [stderr]     Checking futures v0.3.21
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling tokio-macros v1.7.0
[INFO] [stderr]     Checking thiserror v1.0.30
[INFO] [stderr]     Checking ed25519-zebra v2.2.0
[INFO] [stderr]     Checking webpki v0.22.0
[INFO] [stderr]     Checking sct v0.7.0
[INFO] [stderr]     Checking webpki-roots v0.22.2
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking mio v0.8.5
[INFO] [stderr]     Checking fern v0.6.0
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]     Checking iota-crypto v0.9.1
[INFO] [stderr]     Checking bee-pow v0.2.0
[INFO] [stderr]     Checking bee-message v0.1.6
[INFO] [stderr]     Checking ureq v2.4.0
[INFO] [stderr]     Checking bee-ledger v0.6.1
[INFO] [stderr]     Checking bee-rest-api v0.1.7
[INFO] [stderr]     Checking tokio-util v0.6.9
[INFO] [stderr]     Checking tokio-rustls v0.23.2
[INFO] [stderr]     Checking h2 v0.3.11
[INFO] [stderr]     Checking hyper v0.14.17
[INFO] [stderr]     Checking hyper-rustls v0.23.0
[INFO] [stderr]     Checking reqwest v0.11.9
[INFO] [stderr]     Checking iota-client v1.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/node_manager.rs (2 fixes)
[INFO] [stderr]        Fixed src/lib.rs (1 fix)
[INFO] [stderr]        Fixed src/api/message_builder.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/message_builder.rs:280:33
[INFO] [stdout]     |
[INFO] [stdout] 280 |               if let Ok(output) = self.client.get_output(input).await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |                             |
[INFO] [stdout]     |                                   |                             this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                   |                             up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                   up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 283 |                           ClientMessageBuilder::get_output_amount_and_address(&output.output)?;
[INFO] [stdout]     |                           --------------------------------------------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 289 |                       let bech32_hrp = self.client.get_bech32_hrp().await?;
[INFO] [stdout]     |                                        -----------------------------------
[INFO] [stdout]     |                                        |                            |
[INFO] [stdout]     |                                        |                            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                        |                            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                        `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 292 | /                             search_address(
[INFO] [stdout] 293 | |                                 seed,
[INFO] [stdout] 294 | |                                 &bech32_hrp,
[INFO] [stdout] 295 | |                                 account_index,
[INFO] [stdout] ...   |
[INFO] [stdout] 299 | |                             .await?
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |                              |   |
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                |   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 304 |                       let address_index_record = ClientMessageBuilder::create_address_index_recorder(
[INFO] [stdout]     |  ________________________________________________-
[INFO] [stdout]     | |________________________________________________|
[INFO] [stdout] 305 | |                         account_index,
[INFO] [stdout] 306 | |                         address_index,
[INFO] [stdout] 307 | |                         internal,
[INFO] [stdout] 308 | |                         &output,
[INFO] [stdout] 309 | |                         output_address.to_bech32(&bech32_hrp),
[INFO] [stdout] 310 | |                     )?;
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |______________________|
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                        `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 323 | |         }
[INFO] [stdout]     | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/message_builder.rs:824:19
[INFO] [stdout]     |
[INFO] [stdout] 805 |         let mut parent_messages = client.get_tips().await?;
[INFO] [stdout]     |                                   ------------------------
[INFO] [stdout]     |                                   |                 |
[INFO] [stdout]     |                                   |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 823 |         for t in threads {
[INFO] [stdout]     |                  -------
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  `iter` calls a custom destructor
[INFO] [stdout]     |                  `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                  this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                  `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 824 |             match t.join().expect("Failed to join threads.") {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 836 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client.rs:422:31
[INFO] [stdout]     |
[INFO] [stdout] 422 |             if let Ok(info) = Client::get_node_info(node.url.as_ref(), None, None).await {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |                                                    |
[INFO] [stdout]     |                               |                                                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               |                                                    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               |                                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |                                                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 444 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client.rs:455:54
[INFO] [stdout]     |
[INFO] [stdout] 455 |                 if let Ok(mut client_network_info) = network_info.write() {
[INFO] [stdout]     |                           -----------------------    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |                          |
[INFO] [stdout]     |                           |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           |                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           `client_network_info` calls a custom destructor
[INFO] [stdout]     |                           `client_network_info` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 467 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1128:0
[INFO] [stdout] note: `client_network_info` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1128:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client.rs:823:30
[INFO] [stdout]     |
[INFO] [stdout] 791 |                         let msg_res = crate::api::finish_pow(self, message.payload().clone()).await;
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `msg_res` calls a custom destructor
[INFO] [stdout]     |                             `msg_res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 823 |                             .await?
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 824 |                     } else {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `msg_res` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client.rs:908:30
[INFO] [stdout]     |
[INFO] [stdout] 874 |                         let msg_res = crate::api::finish_pow(self, message.payload().clone()).await;
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `msg_res` calls a custom destructor
[INFO] [stdout]     |                             `msg_res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 908 |                             .await?
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 909 |                     } else {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `msg_res` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:201:35
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 for res in futures::future::try_join_all(tasks).await? {
[INFO] [stdout]     |                     ---    -------------------------------------------
[INFO] [stdout]     |                     |      |
[INFO] [stdout]     |                     |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `res` calls a custom destructor
[INFO] [stdout]     |                     `res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 201 |                             match res.text().await { Ok(res_text) => {
[INFO] [stdout]     |                                   ^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |          |
[INFO] [stdout]     |                                   |          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                   |          up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   |          `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 208 |                         }
[INFO] [stdout]     |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 209 |                         Err(err) => {
[INFO] [stdout] 210 |                             error.replace(err);
[INFO] [stdout]     |                             ------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                             `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `res` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:242:43
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 match self.http_client.get(node.clone(), timeout).await {
[INFO] [stdout]     |                       -------------------------------------------------
[INFO] [stdout]     |                       |                                           |
[INFO] [stdout]     |                       |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |                                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 221 |                         match res.text().await { Ok(res_text) => {
[INFO] [stdout]     |                               ----------------
[INFO] [stdout]     |                               |          |
[INFO] [stdout]     |                               |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               |          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 242 |                                     match serde_json::from_str::<T>(&res_text) {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                           up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 243 |                                         Ok(result_data) => {
[INFO] [stdout]     |                                            -----------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            `result_data` calls a custom destructor
[INFO] [stdout]     |                                            `result_data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 259 |                                             error.replace(e.into());
[INFO] [stdout]     |                                             -----------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 262 |                                 }
[INFO] [stdout]     |                                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 263 |                                 _ => {
[INFO] [stdout] 264 |                                     error.replace(crate::Error::NodeError(res_text));
[INFO] [stdout]     |                                     ------------------------------------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 272 |                         error.replace(err);
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:221:31
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 match self.http_client.get(node.clone(), timeout).await {
[INFO] [stdout]     |                       -------------------------------------------------
[INFO] [stdout]     |                       |                                           |
[INFO] [stdout]     |                       |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |                                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 221 |                         match res.text().await { Ok(res_text) => {
[INFO] [stdout]     |                               ^^^^^^^^^^^-----
[INFO] [stdout]     |                               |          |
[INFO] [stdout]     |                               |          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                               |          up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               |          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                               up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 238 |                                             return Ok(serde_json::from_str(&serde_res)?);
[INFO] [stdout]     |                                                       ---------------------------------
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 243 |                                         Ok(result_data) => {
[INFO] [stdout]     |                                            -----------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            `result_data` calls a custom destructor
[INFO] [stdout]     |                                            `result_data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 259 |                                             error.replace(e.into());
[INFO] [stdout]     |                                             -----------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                             `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 264 |                                     error.replace(crate::Error::NodeError(res_text));
[INFO] [stdout]     |                                     ------------------------------------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 270 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 271 |                     Err(err) => {
[INFO] [stdout] 272 |                         error.replace(err);
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 match self.http_client.get(node.clone(), timeout).await {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                       |                                           |
[INFO] [stdout]     |                       |                                           this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                       |                                           up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |                                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                       up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 221 |                         match res.text().await { Ok(res_text) => {
[INFO] [stdout]     |                               ----------------
[INFO] [stdout]     |                               |          |
[INFO] [stdout]     |                               |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               |          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 238 |                                             return Ok(serde_json::from_str(&serde_res)?);
[INFO] [stdout]     |                                                       ---------------------------------
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 243 |                                         Ok(result_data) => {
[INFO] [stdout]     |                                            -----------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            `result_data` calls a custom destructor
[INFO] [stdout]     |                                            `result_data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 259 |                                             error.replace(e.into());
[INFO] [stdout]     |                                             -----------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                             `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 264 |                                     error.replace(crate::Error::NodeError(res_text));
[INFO] [stdout]     |                                     ------------------------------------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 272 |                         error.replace(err);
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 275 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:305:43
[INFO] [stdout]     |
[INFO] [stdout] 302 |               match self.http_client.get(node, timeout).await {
[INFO] [stdout]     |                     -----------------------------------------
[INFO] [stdout]     |                     |                                   |
[INFO] [stdout]     |                     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 305 |                       if let Ok(res_text) = res.text().await {
[INFO] [stdout]     |                                             ^^^^^^^^^^^-----
[INFO] [stdout]     |                                             |          |
[INFO] [stdout]     |                                             |          this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                             |          up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                             |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                             |          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                             up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 306 |                           // Without quorum it's enough if we got one response
[INFO] [stdout] 307 | /                         match status {
[INFO] [stdout] 308 | |                             200 => return Ok(res_text),
[INFO] [stdout] 309 | |                             _ => error.replace(crate::Error::NodeError(res_text)),
[INFO] [stdout] 310 | |                         };
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |_________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 311 |                       }
[INFO] [stdout] 312 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 313 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] 314 |                       error.replace(crate::Error::NodeError(e.to_string()));
[INFO] [stdout]     |                       -----------------------------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:302:19
[INFO] [stdout]     |
[INFO] [stdout] 302 |               match self.http_client.get(node, timeout).await {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                                   |
[INFO] [stdout]     |                     |                                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                     |                                   up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                     up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 305 |                       if let Ok(res_text) = res.text().await {
[INFO] [stdout]     |                                             ----------------
[INFO] [stdout]     |                                             |          |
[INFO] [stdout]     |                                             |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                             |          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 306 |                           // Without quorum it's enough if we got one response
[INFO] [stdout] 307 | /                         match status {
[INFO] [stdout] 308 | |                             200 => return Ok(res_text),
[INFO] [stdout] 309 | |                             _ => error.replace(crate::Error::NodeError(res_text)),
[INFO] [stdout] 310 | |                         };
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |_________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 313 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] 314 |                       error.replace(crate::Error::NodeError(e.to_string()));
[INFO] [stdout]     |                       -----------------------------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 317 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:338:43
[INFO] [stdout]     |
[INFO] [stdout] 335 |               match self.http_client.post_bytes(node, timeout, body).await {
[INFO] [stdout]     |                     ------------------------------------------------------
[INFO] [stdout]     |                     |                                                |
[INFO] [stdout]     |                     |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 338 |                       if let Ok(res_text) = res.text().await {
[INFO] [stdout]     |                                             ^^^^^^^^^^^-----
[INFO] [stdout]     |                                             |          |
[INFO] [stdout]     |                                             |          this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                             |          up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                             |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                             |          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                             up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 339 | /                         match status {
[INFO] [stdout] 340 | |                             200 | 201 => match serde_json::from_str(&res_text) {
[INFO] [stdout]     | |                                                -------------------------------
[INFO] [stdout]     | |                                                |
[INFO] [stdout]     | |                                                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                                `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 341 | |                                 Ok(res) => return Ok(res),
[INFO] [stdout] 342 | |                                 Err(e) => error.replace(e.into()),
[INFO] [stdout] 343 | |                             },
[INFO] [stdout] 344 | |                             _ => error.replace(crate::Error::NodeError(res_text)),
[INFO] [stdout] 345 | |                         };
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |_________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 346 |                       }
[INFO] [stdout] 347 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 348 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] 349 |                       error.replace(crate::Error::NodeError(e.to_string()));
[INFO] [stdout]     |                       -----------------------------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:335:19
[INFO] [stdout]     |
[INFO] [stdout] 335 |               match self.http_client.post_bytes(node, timeout, body).await {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                                                |
[INFO] [stdout]     |                     |                                                this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                     |                                                up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                     up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 338 |                       if let Ok(res_text) = res.text().await {
[INFO] [stdout]     |                                             ----------------
[INFO] [stdout]     |                                             |          |
[INFO] [stdout]     |                                             |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                             |          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 339 | /                         match status {
[INFO] [stdout] 340 | |                             200 | 201 => match serde_json::from_str(&res_text) {
[INFO] [stdout]     | |                                                -------------------------------
[INFO] [stdout]     | |                                                |
[INFO] [stdout]     | |                                                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                                `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 341 | |                                 Ok(res) => return Ok(res),
[INFO] [stdout] 342 | |                                 Err(e) => error.replace(e.into()),
[INFO] [stdout] 343 | |                             },
[INFO] [stdout] 344 | |                             _ => error.replace(crate::Error::NodeError(res_text)),
[INFO] [stdout] 345 | |                         };
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |_________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 348 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] 349 |                       error.replace(crate::Error::NodeError(e.to_string()));
[INFO] [stdout]     |                       -----------------------------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 352 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:374:43
[INFO] [stdout]     |
[INFO] [stdout] 371 |               match self.http_client.post_json(node, timeout, json.clone()).await {
[INFO] [stdout]     |                     -------------------------------------------------------------
[INFO] [stdout]     |                     |                                                       |
[INFO] [stdout]     |                     |                                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 374 |                       if let Ok(res_text) = res.text().await {
[INFO] [stdout]     |                                             ^^^^^^^^^^^-----
[INFO] [stdout]     |                                             |          |
[INFO] [stdout]     |                                             |          this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                             |          up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                             |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                             |          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                             up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 375 | /                         match status {
[INFO] [stdout] 376 | |                             200 | 201 => match serde_json::from_str(&res_text) {
[INFO] [stdout]     | |                                                -------------------------------
[INFO] [stdout]     | |                                                |
[INFO] [stdout]     | |                                                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                                `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 377 | |                                 Ok(res) => return Ok(res),
[INFO] [stdout] 378 | |                                 Err(e) => error.replace(e.into()),
[INFO] [stdout] 379 | |                             },
[INFO] [stdout] 380 | |                             _ => error.replace(crate::Error::NodeError(res_text)),
[INFO] [stdout] 381 | |                         };
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |_________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 382 |                       }
[INFO] [stdout] 383 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 384 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] 385 |                       error.replace(crate::Error::NodeError(e.to_string()));
[INFO] [stdout]     |                       -----------------------------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:371:19
[INFO] [stdout]     |
[INFO] [stdout] 371 |               match self.http_client.post_json(node, timeout, json.clone()).await {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                                                       |
[INFO] [stdout]     |                     |                                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                     |                                                       up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                     up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 374 |                       if let Ok(res_text) = res.text().await {
[INFO] [stdout]     |                                             ----------------
[INFO] [stdout]     |                                             |          |
[INFO] [stdout]     |                                             |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                             |          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 375 | /                         match status {
[INFO] [stdout] 376 | |                             200 | 201 => match serde_json::from_str(&res_text) {
[INFO] [stdout]     | |                                                -------------------------------
[INFO] [stdout]     | |                                                |
[INFO] [stdout]     | |                                                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                                `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 377 | |                                 Ok(res) => return Ok(res),
[INFO] [stdout] 378 | |                                 Err(e) => error.replace(e.into()),
[INFO] [stdout] 379 | |                             },
[INFO] [stdout] 380 | |                             _ => error.replace(crate::Error::NodeError(res_text)),
[INFO] [stdout] 381 | |                         };
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |_________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 384 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] 385 |                       error.replace(crate::Error::NodeError(e.to_string()));
[INFO] [stdout]     |                       -----------------------------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 388 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |           unsafe { VALUE.as_ref() }.expect("failed to get lazy static value")
[INFO] [stdout]     |                    ^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/node_manager.rs:87:33
[INFO] [stdout]     |
[INFO] [stdout]  87 |           let permanode_regexes = lazy_static!(
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]  88 | |             [
[INFO] [stdout]  89 | |               Regex::new(r"messages/([A-Fa-f0-9]{64})").expect("regex failed"),
[INFO] [stdout]  90 | |               Regex::new(r"messages/([A-Fa-f0-9]{64})/metadata").expect("regex failed"),
[INFO] [stdout] ...   |
[INFO] [stdout] 101 | |             ].to_vec() => Vec<Regex>
[INFO] [stdout] 102 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |           unsafe { VALUE.as_ref() }.expect("failed to get lazy static value")
[INFO] [stdout]     |                    ^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/node_manager.rs:158:30
[INFO] [stdout]     |
[INFO] [stdout] 158 |           let quorum_regexes = lazy_static!(
[INFO] [stdout]     |  ______________________________-
[INFO] [stdout] 159 | |             [
[INFO] [stdout] 160 | |               Regex::new(r"messages/([A-Fa-f0-9]{64})/metadata").expect("regex failed"),
[INFO] [stdout] 161 | |               Regex::new(r"outputs/([A-Fa-f0-9]{64})(\d{4})").expect("regex failed"),
[INFO] [stdout] ...   |
[INFO] [stdout] 169 | |             ].to_vec() => Vec<Regex>
[INFO] [stdout] 170 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/02_generate_seed.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/message_builder.rs:280:33
[INFO] [stdout]     |
[INFO] [stdout] 280 |               if let Ok(output) = self.client.get_output(input).await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |                             |
[INFO] [stdout]     |                                   |                             this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                   |                             up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                   up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 283 |                           ClientMessageBuilder::get_output_amount_and_address(&output.output)?;
[INFO] [stdout]     |                           --------------------------------------------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 289 |                       let bech32_hrp = self.client.get_bech32_hrp().await?;
[INFO] [stdout]     |                                        -----------------------------------
[INFO] [stdout]     |                                        |                            |
[INFO] [stdout]     |                                        |                            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                        |                            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                        `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 292 | /                             search_address(
[INFO] [stdout] 293 | |                                 seed,
[INFO] [stdout] 294 | |                                 &bech32_hrp,
[INFO] [stdout] 295 | |                                 account_index,
[INFO] [stdout] ...   |
[INFO] [stdout] 299 | |                             .await?
[INFO] [stdout]     | |                              -----
[INFO] [stdout]     | |                              |   |
[INFO] [stdout]     | |______________________________|___this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                |   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 304 |                       let address_index_record = ClientMessageBuilder::create_address_index_recorder(
[INFO] [stdout]     |  ________________________________________________-
[INFO] [stdout]     | |________________________________________________|
[INFO] [stdout] 305 | |                         account_index,
[INFO] [stdout] 306 | |                         address_index,
[INFO] [stdout] 307 | |                         internal,
[INFO] [stdout] 308 | |                         &output,
[INFO] [stdout] 309 | |                         output_address.to_bech32(&bech32_hrp),
[INFO] [stdout] 310 | |                     )?;
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |______________________|
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                        `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 323 | |         }
[INFO] [stdout]     | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/message_builder.rs:824:19
[INFO] [stdout]     |
[INFO] [stdout] 805 |         let mut parent_messages = client.get_tips().await?;
[INFO] [stdout]     |                                   ------------------------
[INFO] [stdout]     |                                   |                 |
[INFO] [stdout]     |                                   |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 823 |         for t in threads {
[INFO] [stdout]     |                  -------
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  `iter` calls a custom destructor
[INFO] [stdout]     |                  `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                  this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                  `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 824 |             match t.join().expect("Failed to join threads.") {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 836 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client.rs:422:31
[INFO] [stdout]     |
[INFO] [stdout] 422 |             if let Ok(info) = Client::get_node_info(node.url.as_ref(), None, None).await {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |                                                    |
[INFO] [stdout]     |                               |                                                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               |                                                    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               |                                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |                                                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 444 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client.rs:455:54
[INFO] [stdout]     |
[INFO] [stdout] 455 |                 if let Ok(mut client_network_info) = network_info.write() {
[INFO] [stdout]     |                           -----------------------    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |                          |
[INFO] [stdout]     |                           |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           |                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           `client_network_info` calls a custom destructor
[INFO] [stdout]     |                           `client_network_info` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 467 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1128:0
[INFO] [stdout] note: `client_network_info` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/rwlock.rs:1128:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client.rs:823:30
[INFO] [stdout]     |
[INFO] [stdout] 791 |                         let msg_res = crate::api::finish_pow(self, message.payload().clone()).await;
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `msg_res` calls a custom destructor
[INFO] [stdout]     |                             `msg_res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 823 |                             .await?
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 824 |                     } else {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `msg_res` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client.rs:908:30
[INFO] [stdout]     |
[INFO] [stdout] 874 |                         let msg_res = crate::api::finish_pow(self, message.payload().clone()).await;
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `msg_res` calls a custom destructor
[INFO] [stdout]     |                             `msg_res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 908 |                             .await?
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 909 |                     } else {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `msg_res` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:201:35
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 for res in futures::future::try_join_all(tasks).await? {
[INFO] [stdout]     |                     ---    -------------------------------------------
[INFO] [stdout]     |                     |      |
[INFO] [stdout]     |                     |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `res` calls a custom destructor
[INFO] [stdout]     |                     `res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 201 |                             match res.text().await { Ok(res_text) => {
[INFO] [stdout]     |                                   ^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |          |
[INFO] [stdout]     |                                   |          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                   |          up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   |          `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 208 |                         }
[INFO] [stdout]     |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 209 |                         Err(err) => {
[INFO] [stdout] 210 |                             error.replace(err);
[INFO] [stdout]     |                             ------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                             `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `res` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `res` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:242:43
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 match self.http_client.get(node.clone(), timeout).await {
[INFO] [stdout]     |                       -------------------------------------------------
[INFO] [stdout]     |                       |                                           |
[INFO] [stdout]     |                       |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |                                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 221 |                         match res.text().await { Ok(res_text) => {
[INFO] [stdout]     |                               ----------------
[INFO] [stdout]     |                               |          |
[INFO] [stdout]     |                               |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               |          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 242 |                                     match serde_json::from_str::<T>(&res_text) {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                           up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 243 |                                         Ok(result_data) => {
[INFO] [stdout]     |                                            -----------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            `result_data` calls a custom destructor
[INFO] [stdout]     |                                            `result_data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 259 |                                             error.replace(e.into());
[INFO] [stdout]     |                                             -----------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 262 |                                 }
[INFO] [stdout]     |                                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 263 |                                 _ => {
[INFO] [stdout] 264 |                                     error.replace(crate::Error::NodeError(res_text));
[INFO] [stdout]     |                                     ------------------------------------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 272 |                         error.replace(err);
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:221:31
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 match self.http_client.get(node.clone(), timeout).await {
[INFO] [stdout]     |                       -------------------------------------------------
[INFO] [stdout]     |                       |                                           |
[INFO] [stdout]     |                       |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |                                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 221 |                         match res.text().await { Ok(res_text) => {
[INFO] [stdout]     |                               ^^^^^^^^^^^-----
[INFO] [stdout]     |                               |          |
[INFO] [stdout]     |                               |          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                               |          up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               |          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                               up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 238 |                                             return Ok(serde_json::from_str(&serde_res)?);
[INFO] [stdout]     |                                                       ---------------------------------
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 243 |                                         Ok(result_data) => {
[INFO] [stdout]     |                                            -----------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            `result_data` calls a custom destructor
[INFO] [stdout]     |                                            `result_data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 259 |                                             error.replace(e.into());
[INFO] [stdout]     |                                             -----------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                             `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 264 |                                     error.replace(crate::Error::NodeError(res_text));
[INFO] [stdout]     |                                     ------------------------------------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 270 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 271 |                     Err(err) => {
[INFO] [stdout] 272 |                         error.replace(err);
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 match self.http_client.get(node.clone(), timeout).await {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                       |                                           |
[INFO] [stdout]     |                       |                                           this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                       |                                           up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |                                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                       up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 221 |                         match res.text().await { Ok(res_text) => {
[INFO] [stdout]     |                               ----------------
[INFO] [stdout]     |                               |          |
[INFO] [stdout]     |                               |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               |          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 238 |                                             return Ok(serde_json::from_str(&serde_res)?);
[INFO] [stdout]     |                                                       ---------------------------------
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 243 |                                         Ok(result_data) => {
[INFO] [stdout]     |                                            -----------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            `result_data` calls a custom destructor
[INFO] [stdout]     |                                            `result_data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 259 |                                             error.replace(e.into());
[INFO] [stdout]     |                                             -----------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                             `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 264 |                                     error.replace(crate::Error::NodeError(res_text));
[INFO] [stdout]     |                                     ------------------------------------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 272 |                         error.replace(err);
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 275 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:305:43
[INFO] [stdout]     |
[INFO] [stdout] 302 |               match self.http_client.get(node, timeout).await {
[INFO] [stdout]     |                     -----------------------------------------
[INFO] [stdout]     |                     |                                   |
[INFO] [stdout]     |                     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 305 |                       if let Ok(res_text) = res.text().await {
[INFO] [stdout]     |                                             ^^^^^^^^^^^-----
[INFO] [stdout]     |                                             |          |
[INFO] [stdout]     |                                             |          this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                             |          up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                             |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                             |          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                             up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 306 |                           // Without quorum it's enough if we got one response
[INFO] [stdout] 307 | /                         match status {
[INFO] [stdout] 308 | |                             200 => return Ok(res_text),
[INFO] [stdout] 309 | |                             _ => error.replace(crate::Error::NodeError(res_text)),
[INFO] [stdout] 310 | |                         };
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |_________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 311 |                       }
[INFO] [stdout] 312 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 313 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] 314 |                       error.replace(crate::Error::NodeError(e.to_string()));
[INFO] [stdout]     |                       -----------------------------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:302:19
[INFO] [stdout]     |
[INFO] [stdout] 302 |               match self.http_client.get(node, timeout).await {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                                   |
[INFO] [stdout]     |                     |                                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                     |                                   up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                     up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 305 |                       if let Ok(res_text) = res.text().await {
[INFO] [stdout]     |                                             ----------------
[INFO] [stdout]     |                                             |          |
[INFO] [stdout]     |                                             |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                             |          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 306 |                           // Without quorum it's enough if we got one response
[INFO] [stdout] 307 | /                         match status {
[INFO] [stdout] 308 | |                             200 => return Ok(res_text),
[INFO] [stdout] 309 | |                             _ => error.replace(crate::Error::NodeError(res_text)),
[INFO] [stdout] 310 | |                         };
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |_________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 313 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] 314 |                       error.replace(crate::Error::NodeError(e.to_string()));
[INFO] [stdout]     |                       -----------------------------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 317 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:338:43
[INFO] [stdout]     |
[INFO] [stdout] 335 |               match self.http_client.post_bytes(node, timeout, body).await {
[INFO] [stdout]     |                     ------------------------------------------------------
[INFO] [stdout]     |                     |                                                |
[INFO] [stdout]     |                     |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 338 |                       if let Ok(res_text) = res.text().await {
[INFO] [stdout]     |                                             ^^^^^^^^^^^-----
[INFO] [stdout]     |                                             |          |
[INFO] [stdout]     |                                             |          this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                             |          up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                             |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                             |          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                             up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 339 | /                         match status {
[INFO] [stdout] 340 | |                             200 | 201 => match serde_json::from_str(&res_text) {
[INFO] [stdout]     | |                                                -------------------------------
[INFO] [stdout]     | |                                                |
[INFO] [stdout]     | |                                                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                                `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 341 | |                                 Ok(res) => return Ok(res),
[INFO] [stdout] 342 | |                                 Err(e) => error.replace(e.into()),
[INFO] [stdout] 343 | |                             },
[INFO] [stdout] 344 | |                             _ => error.replace(crate::Error::NodeError(res_text)),
[INFO] [stdout] 345 | |                         };
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |_________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 346 |                       }
[INFO] [stdout] 347 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 348 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] 349 |                       error.replace(crate::Error::NodeError(e.to_string()));
[INFO] [stdout]     |                       -----------------------------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:335:19
[INFO] [stdout]     |
[INFO] [stdout] 335 |               match self.http_client.post_bytes(node, timeout, body).await {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                                                |
[INFO] [stdout]     |                     |                                                this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                     |                                                up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                     up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 338 |                       if let Ok(res_text) = res.text().await {
[INFO] [stdout]     |                                             ----------------
[INFO] [stdout]     |                                             |          |
[INFO] [stdout]     |                                             |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                             |          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 339 | /                         match status {
[INFO] [stdout] 340 | |                             200 | 201 => match serde_json::from_str(&res_text) {
[INFO] [stdout]     | |                                                -------------------------------
[INFO] [stdout]     | |                                                |
[INFO] [stdout]     | |                                                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                                `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 341 | |                                 Ok(res) => return Ok(res),
[INFO] [stdout] 342 | |                                 Err(e) => error.replace(e.into()),
[INFO] [stdout] 343 | |                             },
[INFO] [stdout] 344 | |                             _ => error.replace(crate::Error::NodeError(res_text)),
[INFO] [stdout] 345 | |                         };
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |_________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 348 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] 349 |                       error.replace(crate::Error::NodeError(e.to_string()));
[INFO] [stdout]     |                       -----------------------------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 352 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:374:43
[INFO] [stdout]     |
[INFO] [stdout] 371 |               match self.http_client.post_json(node, timeout, json.clone()).await {
[INFO] [stdout]     |                     -------------------------------------------------------------
[INFO] [stdout]     |                     |                                                       |
[INFO] [stdout]     |                     |                                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 374 |                       if let Ok(res_text) = res.text().await {
[INFO] [stdout]     |                                             ^^^^^^^^^^^-----
[INFO] [stdout]     |                                             |          |
[INFO] [stdout]     |                                             |          this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                             |          up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                             |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                             |          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                             up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 375 | /                         match status {
[INFO] [stdout] 376 | |                             200 | 201 => match serde_json::from_str(&res_text) {
[INFO] [stdout]     | |                                                -------------------------------
[INFO] [stdout]     | |                                                |
[INFO] [stdout]     | |                                                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                                `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 377 | |                                 Ok(res) => return Ok(res),
[INFO] [stdout] 378 | |                                 Err(e) => error.replace(e.into()),
[INFO] [stdout] 379 | |                             },
[INFO] [stdout] 380 | |                             _ => error.replace(crate::Error::NodeError(res_text)),
[INFO] [stdout] 381 | |                         };
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |_________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 382 |                       }
[INFO] [stdout] 383 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 384 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] 385 |                       error.replace(crate::Error::NodeError(e.to_string()));
[INFO] [stdout]     |                       -----------------------------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/node_manager.rs:371:19
[INFO] [stdout]     |
[INFO] [stdout] 371 |               match self.http_client.post_json(node, timeout, json.clone()).await {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                                                       |
[INFO] [stdout]     |                     |                                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                     |                                                       up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                     up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 374 |                       if let Ok(res_text) = res.text().await {
[INFO] [stdout]     |                                             ----------------
[INFO] [stdout]     |                                             |          |
[INFO] [stdout]     |                                             |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                             |          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 375 | /                         match status {
[INFO] [stdout] 376 | |                             200 | 201 => match serde_json::from_str(&res_text) {
[INFO] [stdout]     | |                                                -------------------------------
[INFO] [stdout]     | |                                                |
[INFO] [stdout]     | |                                                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                                `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 377 | |                                 Ok(res) => return Ok(res),
[INFO] [stdout] 378 | |                                 Err(e) => error.replace(e.into()),
[INFO] [stdout] 379 | |                             },
[INFO] [stdout] 380 | |                             _ => error.replace(crate::Error::NodeError(res_text)),
[INFO] [stdout] 381 | |                         };
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |_________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 384 |                   Err(e) => {
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `e` calls a custom destructor
[INFO] [stdout]     |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] 385 |                       error.replace(crate::Error::NodeError(e.to_string()));
[INFO] [stdout]     |                       -----------------------------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 388 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.25.0/src/runtime/time/entry.rs:644:1
[INFO] [stdout]     |
[INFO] [stdout] 644 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.1.0/src/bytes.rs:512:1
[INFO] [stdout]     |
[INFO] [stdout] 512 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |           unsafe { VALUE.as_ref() }.expect("failed to get lazy static value")
[INFO] [stdout]     |                    ^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/node_manager.rs:87:33
[INFO] [stdout]     |
[INFO] [stdout]  87 |           let permanode_regexes = lazy_static!(
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]  88 | |             [
[INFO] [stdout]  89 | |               Regex::new(r"messages/([A-Fa-f0-9]{64})").expect("regex failed"),
[INFO] [stdout]  90 | |               Regex::new(r"messages/([A-Fa-f0-9]{64})/metadata").expect("regex failed"),
[INFO] [stdout] ...   |
[INFO] [stdout] 101 | |             ].to_vec() => Vec<Regex>
[INFO] [stdout] 102 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |           unsafe { VALUE.as_ref() }.expect("failed to get lazy static value")
[INFO] [stdout]     |                    ^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/node_manager.rs:158:30
[INFO] [stdout]     |
[INFO] [stdout] 158 |           let quorum_regexes = lazy_static!(
[INFO] [stdout]     |  ______________________________-
[INFO] [stdout] 159 | |             [
[INFO] [stdout] 160 | |               Regex::new(r"messages/([A-Fa-f0-9]{64})/metadata").expect("regex failed"),
[INFO] [stdout] 161 | |               Regex::new(r"outputs/([A-Fa-f0-9]{64})(\d{4})").expect("regex failed"),
[INFO] [stdout] ...   |
[INFO] [stdout] 169 | |             ].to_vec() => Vec<Regex>
[INFO] [stdout] 170 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/get_funds.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/04_get_balance.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/dust.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/send_all.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/custom_inputs.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/07_get_message_metadata.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/transaction.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/split_outputs_single_address.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/consolidation.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/03_generate_addresses.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/url.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/quorum.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/split_all.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/custom_payload.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/txspam.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/mnemonic.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/06_simple_message.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/05_get_address_outputs.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/mnemonic.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/node_api.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/node_api.rs:27:10
[INFO] [stdout]     |
[INFO] [stdout]  15 |     let client = iota_client::Client::builder()
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  27 |         .await
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  31 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> src/client.rs:352:1
[INFO] [stdout]     |
[INFO] [stdout] 352 | impl Drop for Client {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/08_data_message.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/custom_parent.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/message_time.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/indexation.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/peers.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/multiple_outputs.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/search_address.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/09_transaction.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/create_max_dust.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/addresses.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/01_get_info.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 33.03s
[INFO] [stderr] crater-edition-check: iota-client v1.4.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking iota-client v1.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: value assigned to `result_counter` is never read
[INFO] [stdout]    --> src/node_manager.rs:204:33
[INFO] [stdout]     |
[INFO] [stdout] 204 | ...                   result_counter += 1;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result_counter` is never read
[INFO] [stdout]    --> src/node_manager.rs:204:33
[INFO] [stdout]     |
[INFO] [stdout] 204 | ...                   result_counter += 1;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |           unsafe { VALUE.as_ref() }.expect("failed to get lazy static value")
[INFO] [stdout]     |                    ^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/node_manager.rs:87:33
[INFO] [stdout]     |
[INFO] [stdout]  87 |           let permanode_regexes = lazy_static!(
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]  88 | |             [
[INFO] [stdout]  89 | |               Regex::new(r"messages/([A-Fa-f0-9]{64})").expect("regex failed"),
[INFO] [stdout]  90 | |               Regex::new(r"messages/([A-Fa-f0-9]{64})/metadata").expect("regex failed"),
[INFO] [stdout] ...   |
[INFO] [stdout] 101 | |             ].to_vec() => Vec<Regex>
[INFO] [stdout] 102 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[deny(static_mut_refs)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout]     = note: this error originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |           unsafe { VALUE.as_ref() }.expect("failed to get lazy static value")
[INFO] [stdout]     |                    ^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/node_manager.rs:158:30
[INFO] [stdout]     |
[INFO] [stdout] 158 |           let quorum_regexes = lazy_static!(
[INFO] [stdout]     |  ______________________________-
[INFO] [stdout] 159 | |             [
[INFO] [stdout] 160 | |               Regex::new(r"messages/([A-Fa-f0-9]{64})/metadata").expect("regex failed"),
[INFO] [stdout] 161 | |               Regex::new(r"outputs/([A-Fa-f0-9]{64})(\d{4})").expect("regex failed"),
[INFO] [stdout] ...   |
[INFO] [stdout] 169 | |             ].to_vec() => Vec<Regex>
[INFO] [stdout] 170 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |           unsafe { VALUE.as_ref() }.expect("failed to get lazy static value")
[INFO] [stdout]     |                    ^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/node_manager.rs:87:33
[INFO] [stdout]     |
[INFO] [stdout]  87 |           let permanode_regexes = lazy_static!(
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]  88 | |             [
[INFO] [stdout]  89 | |               Regex::new(r"messages/([A-Fa-f0-9]{64})").expect("regex failed"),
[INFO] [stdout]  90 | |               Regex::new(r"messages/([A-Fa-f0-9]{64})/metadata").expect("regex failed"),
[INFO] [stdout] ...   |
[INFO] [stdout] 101 | |             ].to_vec() => Vec<Regex>
[INFO] [stdout] 102 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[deny(static_mut_refs)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout]     = note: this error originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:37:18
[INFO] [stdout]     |
[INFO] [stdout]  37 |           unsafe { VALUE.as_ref() }.expect("failed to get lazy static value")
[INFO] [stdout]     |                    ^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/node_manager.rs:158:30
[INFO] [stdout]     |
[INFO] [stdout] 158 |           let quorum_regexes = lazy_static!(
[INFO] [stdout]     |  ______________________________-
[INFO] [stdout] 159 | |             [
[INFO] [stdout] 160 | |               Regex::new(r"messages/([A-Fa-f0-9]{64})/metadata").expect("regex failed"),
[INFO] [stdout] 161 | |               Regex::new(r"outputs/([A-Fa-f0-9]{64})(\d{4})").expect("regex failed"),
[INFO] [stdout] ...   |
[INFO] [stdout] 169 | |             ].to_vec() => Vec<Regex>
[INFO] [stdout] 170 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: this error originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `iota-client` (lib test) due to 2 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `iota-client` (lib) due to 2 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "5f72f0dee3e3b82f12cb2b8fee4e10798b02dd8fb4c22f6a1eff69d07bbb818b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5f72f0dee3e3b82f12cb2b8fee4e10798b02dd8fb4c22f6a1eff69d07bbb818b", kill_on_drop: false }`
[INFO] [stdout] 5f72f0dee3e3b82f12cb2b8fee4e10798b02dd8fb4c22f6a1eff69d07bbb818b
